package com.init.bootframe.system.service;

import com.init.bootframe.system.vo.UserVO;
import net.sf.json.JSONObject;

import java.util.List;
import java.util.Map;

/**
 * 用户service
 */
public interface IUserService {


    /**
     * 分页 list查询
     * @param userVO
     * @return
     */
    public JSONObject findUserList(UserVO userVO);

    /**
     *  list 查询
     * @return
     */
    public List<UserVO> findList();

    /**
     * 详情查询
     * @param userVO
     * @return
     */
    public UserVO findUser(UserVO userVO);

    /**
     * 添加用户
     * @param userVO
     * @return
     */
    public Map<String, Object> addUser(UserVO userVO);

    /**
     * 判断账号是否唯一
     * @param userVO
     * @return
     */
    public Map<String, Object> judgeAccount(UserVO userVO);

    /**
     * 更新用户信息
     * @param userVO
     * @return
     */
    public Map<String, Object> updateUser(UserVO userVO);

    /**
     * 删除用户
     * @param userVO
     * @return
     */
    public Map<String, Object> deleteUser(UserVO userVO);

    /**
     * 修改密码
     * @param userVO
     * @return
     */
    public Map<String, Object> updatePassword(UserVO userVO);

    /**
     * 查询当前登陆用户信息
     * @return
     */
    public UserVO findLoginUser();

    /**
     * 退出登录
     * @return
     */
    public Map<String, Object> quit();

    /**
     * 登录
     * @param userVO
     * @return
     * @throws Exception
     */
    public Map<String, Object> login(UserVO userVO) throws Exception;
}
